#!/usr/bin/env python
# -*- coding: utf-8 -*-

__author__ = 'dong'


province_dict = {
    '北京': 1,
    '四川': 2,
    '江苏': 3,
    '上海': 4,
    '广东': 5,
    '山东': 6,
    '河北': 7,
    '浙江': 8,
    '陕西': 9,
    '安徽': 10,
    '重庆': 11,
    '湖北': 12,
    '河南': 13,
    '福建': 14,
    '天津': 15,
    '湖南': 16,
    '山西': 17,
    '江西': 18,
    '广西': 19,
    '辽宁': 20,
    '贵州': 21,
    '黑龙江': 22,
    '云南': 23,
    '甘肃': 24,
    '吉林': 25,
    '内蒙古': 26,
    '青海': 27,
    '海南': 28,
    '宁夏': 29,
    '新疆': 30,
    '西藏': 31,
}


class CityAttr(object):

    def get_city_id(self, province_number, city_name):
        '''获取城市'''
        city_func = getattr(self, 'city_{0}'.format(province_number), None)
        return city_func(city_name)


    def city_1(self, value):
        data = {
            '东城区': 27,
            '门头沟': 5,
            '房山区': 36,
            '宣武区': 112,
            '海淀区': 2,
            '丰台区': 1,
            '朝阳区': 6,
            '亦庄开发区': 38,
            '延庆县': 29,
            '怀柔区': 32,
            '通州区': 7,
            '平谷区': 33,
            '顺义区': 28,
            '石景山区': 39,
            '西城区': 30,
            '大兴区': 40,
            '密云县': 35,
            '昌平区': 31,
        }
        return data.get(value)


    def city_2(self, value):
        data = {
            '广元市': 116,
            '绵阳市': 104,
            '甘孜州': 123,
            '资阳市': 118,
            '巴中市': 115,
            '凉山州': 124,
            '德阳市': 103,
            '眉山市': 105,
            '成都市': 3,
            '乐山市': 110,
            '内江市': 108,
            '自贡市': 4,
            '攀枝花市': 122,
            '达州市': 114,
            '阿坝州': 121,
            '宜宾市': 109,
            '泸州市': 106,
            '遂宁市': 113,
            '雅安市': 111,
            '南充市': 107,
            '广安市': 117,
        }
        return data.get(value)


    def city_3(self, value):
        data = {
            '扬州市': 129,
            '连云港市': 133,
            '泰州市': 136,
            '南京市': 125,
            '常州市': 131,
            '镇江市': 128,
            '宿迁市': 137,
            '无锡市': 127,
            '盐城市': 134,
            '徐州市': 132,
            '苏州市': 126,
            '淮安市': 135,
            '南通市': 130,
        }
        return data.get(value)


    def city_4(self, value):
        data = {
            '青浦区': 53,
            '闸北区': 58,
            '松江区': 59,
            '黄浦区': 60,
            '长宁区': 48,
            '南汇区': 141,
            '金山区': 45,
            '嘉定区': 50,
            '虹口区': 52,
            '卢湾区': 140,
            '崇明县': 55,
            '宝山区': 41,
            '浦东区': 46,
            '静安区': 51,
            '徐汇区': 47,
            '闵行区': 44,
            '奉贤区': 42,
            '杨浦区': 49,
            '普陀区': 54,
        }
        return data.get(value)


    def city_5(self, value):
        data = {
            '广州市': 142,
            '珠海市': 144,
            '惠州市': 149,
            '汕头市': 145,
            '中山市': 152,
            '湛江市': 156,
            '梅州市': 148,
            '东莞市': 151,
            '云浮市': 163,
            '阳江市': 155,
            '清远市': 160,
            '江门市': 153,
            '揭阳市': 162,
            '汕尾市': 150,
            '茂名市': 157,
            '河源市': 147,
            '韶关市': 146,
            '肇庆市': 159,
            '潮州市': 161,
            '深圳市': 143,
            '佛山市': 154,
        }
        return data.get(value)


    def city_6(self, value):
        data = {
            '枣庄市': 15,
            '德州市': 16,
            '济南市': 8,
            '莱芜市': 20,
            '菏泽市': 24,
            '滨州市': 21,
            '烟台市': 10,
            '潍坊市': 13,
            '聊城市': 23,
            '日照市': 19,
            '泰安市': 12,
            '济宁市 ': 14,
            '东营市': 22,
            '临沂市': 25,
            '青岛市': 9,
            '威海市': 17,
            '淄博市': 11,
        }
        return data.get(value)


    def city_7(self, value):
        data = {
            '邯郸市': 175,
            '张家口市': 167,
            '衡水市': 169,
            '邢台市': 173,
            '石家庄市': 164,
            '廊坊市': 168,
            '承德市': 171,
            '唐山市': 166,
            '沧州市': 174,
            '保定市': 170,
            '秦皇岛市': 165,
        }
        return data.get(value)


    def city_8(self, value):
        data = {
            '金华市': 182,
            '湖州市': 180,
            '台州市': 185,
            '温州市': 178,
            '杭州市': 176,
            '丽水市': 186,
            '舟山市': 184,
            '绍兴市': 181,
            '宁波市': 177,
            '嘉兴市': 179,
            '衢州市': 183,
        }
        return data.get(value)


    def city_9(self, value):
        data = {
            '汉中市': 194,
            '渭南市': 190,
            '咸阳市': 189,
            '安康市': 195,
            '宝鸡市': 188,
            '延安市': 191,
            '西安市': 187,
            '榆林市': 192,
            '铜川市': 193,
            '商洛市': 196,
        }
        return data.get(value)


    def city_10(self, value):
        data = {
            '六安市': 210,
            '淮南市': 208,
            '铜陵市': 202,
            '宣城市': 211,
            '阜阳市': 209,
            '宿州市': 206,
            '滁州市': 205,
            '黄山市': 204,
            '马鞍山': 200,
            '蚌埠市': 199,
            '淮北市': 201,
            '安庆市': 203,
            '亳州市': 212,
            '芜湖市': 198,
            '池州市': 207,
            '合肥市': 197,
        }
        return data.get(value)


    def city_11(self, value):
        data = {
            '铜梁县': 95,
            '永川区': 69,
            '涪陵区': 67,
            '渝北区': 77,
            '丰都县': 91,
            '石柱县': 102,
            '九龙坡': 98,
            '巫山县': 92,
            '彭水县': 81,
            '梁平县': 79,
            '北碚区': 68,
            '忠县': 65,
            '云阳县': 80,
            '武隆县': 101,
            '潼南县': 90,
            '黔江区': 89,
            '秀山县': 66,
            '万州区': 61,
            '南岸区': 62,
            '奉节县': 86,
            '璧山县': 70,
            '江津区': 99,
            '江北区': 88,
            '巴南区': 83,
            '酉阳县': 75,
            '大足区': 100,
            '巫溪县': 97,
            '开县': 74,
            '城口县': 85,
            '合川区': 63,
            '綦江区': 84,
            '垫江县': 96,
            '沙坪坝': 93,
            '两江新': 87,
            '渝中区': 76,
            '长寿区': 94,
            '大渡口': 82,
            '荣昌县': 64,
            '南川区': 78,
        }
        return data.get(value)


    def city_12(self, value):
        data = {
            '宜昌市': 218,
            '荆门市': 219,
            '武汉市': 213,
            '孝感市': 221,
            '恩施': 225,
            '荆州市': 217,
            '十堰市': 216,
            '黄石市': 214,
            '襄阳市': 215,
            '随州市': 224,
            '襄樊市': 442,
            '黄冈市': 222,
            '咸宁市': 223,
            '鄂州市': 220,
        }
        return data.get(value)


    def city_13(self, value):
        data = {
            '新乡市': 233,
            '安阳市': 232,
            '南阳市': 244,
            '漯河市': 240,
            '济源市': 246,
            '平顶山市': 241,
            '商丘市': 238,
            '开封市': 231,
            '郑州市': 229,
            '洛阳市': 230,
            '三门峡': 237,
            '周口市': 243,
            '焦作市': 235,
            '信阳市': 245,
            '许昌市': 239,
            '鹤壁市': 236,
            '濮阳市': 234,
            '驻马店市': 242,
        }
        return data.get(value)


    def city_14(self, value):
        data = {
            '三明市': 252,
            '宁德市': 255,
            '龙岩市': 254,
            '莆田市': 251,
            '漳州市': 249,
            '厦门市': 248,
            '福州市': 247,
            '南平市': 253,
            '泉州市': 250,
        }
        return data.get(value)


    def city_15(self, value):
        data = {
            '开发区': 429,
            '红桥': 440,
            '东丽': 437,
            '北辰': 433,
            '津南': 430,
            '河东': 435,
            '河北': 436,
            '和平': 439,
            '河西': 438,
            '南开': 431,
            '塘沽': 432,
            '西青': 434,
        }
        return data.get(value)


    def city_16(self, value):
        data = {
            '益阳市': 425,
            '娄底市': 422,
            '衡阳市': 418,
            '怀化市': 427,
            '长沙市': 415,
            '常德市': 420,
            '岳阳市': 419,
            '永州市': 424,
            '张家界': 426,
            '郴州市': 423,
            '株洲市': 416,
            '湘西': 428,
            '邵阳市': 421,
            '湘潭市': 417,
        }
        return data.get(value)


    def city_17(self, value):
        data = {
            '晋城市': 410,
            '忻州市': 414,
            '阳泉市': 406,
            '晋中市': 408,
            '吕梁市': 412,
            '朔州市': 411,
            '大同市': 405,
            '运城市': 407,
            '临汾市': 413,
            '太原市': 404,
            '长治市': 409,
        }
        return data.get(value)


    def city_18(self, value):
        data = {
            '赣州市': 397,
            '上饶市': 402,
            '新余市': 396,
            '南昌市': 393,
            '萍乡市': 401,
            '抚州市': 403,
            '鹰潭市': 400,
            '宜春市': 399,
            '九江市': 395,
            '吉安市': 398,
            '景德镇': 394,
        }
        return data.get(value)


    def city_19(self, value):
        data = {
            '贵港市': 385,
            '钦州市': 387,
            '河池市': 389,
            '防城港': 382,
            '梧州市': 383,
            '来宾市': 391,
            '贺州市': 388,
            '柳州市': 381,
            '北海市': 386,
            '崇左市': 390,
            '玉林市': 384,
            '南宁市': 379,
            '桂林市': 380,
            '百色市': 392,
        }
        return data.get(value)


    def city_20(self, value):
        data = {
            '盘锦市': 370,
            '丹东市': 375,
            '葫芦岛': 378,
            '营口市': 372,
            '沈阳市': 365,
            '锦州市': 368,
            '大连市': 366,
            '朝阳市': 371,
            '抚顺市': 369,
            '阜新市': 373,
            '本溪市': 374,
            '辽阳市': 376,
            '铁岭市': 377,
            '鞍山市': 367,
        }
        return data.get(value)


    def city_21(self, value):
        data = {
            '六盘水': 357,
            '黔南': 363,
            '毕节': 362,
            '贵阳市': 356,
            '遵义市': 358,
            '安顺市': 359,
            '黔西南': 361,
            '铜仁': 364,
            '黔东南': 360,
        }
        return data.get(value)


    def city_22(self, value):
        data = {
            '双鸭山市': 349,
            '七台河市': 350,
            '大兴安岭': 355,
            '大庆市': 346,
            '鸡西市': 347,
            '绥化市': 353,
            '齐齐哈尔': 344,
            '黑河市': 354,
            '佳木斯市': 351,
            '伊春市': 352,
            '哈尔滨': 343,
            '鹤岗市': 348,
            '牡丹江市': 345,
        }
        return data.get(value)


    def city_23(self, value):
        data = {
            '玉溪市': 330,
            '文山': 342,
            '西双版纳': 336,
            '曲靖市': 328,
            '德宏': 338,
            '迪庆': 340,
            '保山市': 329,
            '红河': 341,
            '大理': 337,
            '思茅市': 333,
            '昭通市': 331,
            '怒江': 339,
            '昆明市': 327,
            '楚雄': 335,
            '丽江市': 332,
            '临沧市': 334,
        }
        return data.get(value)


    def city_24(self, value):
        data = {
            '武威市': 317,
            '甘南': 326,
            '定西市': 323,
            '酒泉市': 321,
            '白银市': 319,
            '庆阳市': 322,
            '天水市': 315,
            '张掖市': 318,
            '嘉峪关': 314,
            '金昌市': 316,
            '陇南市': 324,
            '临夏': 325,
            '平凉市': 320,
            '兰州市': 313,
        }
        return data.get(value)


    def city_25(self, value):
        data = {
            '白城市': 310,
            '四平市': 309,
            '长春市': 304,
            '延边': 311,
            '通化市': 308,
            '白山市': 306,
            '吉林市': 305,
            '辽源市': 307,
            '松原市': 312,
        }
        return data.get(value)


    def city_26(self, value):
        data = {
            '乌兰察布': 296,
            '兴安盟': 301,
            '阿拉善盟': 295,
            '赤峰市': 300,
            '呼伦贝尔': 297,
            '乌海市': 299,
            '呼和浩特': 293,
            '通辽市': 298,
            '巴彦淖尔': 303,
            '包头市': 294,
            '鄂尔多斯': 441,
            '锡林郭勒盟': 302,
            '海拉尔': 443,
        }
        return data.get(value)


    def city_27(self, value):
        data = {
            '海东': 292,
            '果洛': 288,
            '玉树': 289,
            '西宁市': 285,
            '黄南': 291,
            '海西': 290,
            '海南': 287,
            '海北': 286,
        }
        return data.get(value)


    def city_28(self, value):
        data = {
            '海口市': 283,
            '三亚市': 284,
        }
        return data.get(value)


    def city_29(self, value):
        data = {
            '石嘴山': 279,
            '中卫市': 281,
            '吴忠市': 282,
            '固原市': 278,
            '银川市': 280,
        }
        return data.get(value)


    def city_30(self, value):
        data = {
            '吐鲁番': 265,
            '阿勒泰': 274,
            '伊犁': 271,
            '阿克苏': 264,
            '乌鲁木齐': 263,
            '哈密': 275,
            '巴音郭楞': 277,
            '塔城': 273,
            '和田': 270,
            '昌吉': 276,
            '博尔塔拉': 267,
            '喀什': 269,
            '克拉玛依': 266,
            '克孜勒苏柯尔克孜': 268,
        }
        return data.get(value)


    def city_31(self, value):
        data = {
            '昌都': 258,
            '日喀则': 260,
            '林芝': 262,
            '山南': 259,
            '那曲': 257,
            '阿里': 261,
            '拉萨市': 256,
        }
        return data.get(value)


if __name__ == '__main__':
    attr = CityAttr()
    print '==='
    print attr.get_city_id(1, '宣武区')
